-
Notifications
You must be signed in to change notification settings - Fork 0
Update LibreOffice from 7.6.2.1 to 26.2.5.1 #3394
Open
pmenzel
wants to merge
20
commits into
master
Choose a base branch
from
update-libreoffice-from-7.6.2.1-to-26.2.5.1
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+323
−68
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
LibreOffice 26.2.5.1's bundled xmlsec1 requires libxml2 >= 2.9.13; the system package was 2.9.12. Bump to the latest upstream release (2.15.3). ABI break: libxml2 2.14.0 bumped the ELF soname from libxml2.so.2 to libxml2.so.16 and restricts binary compatibility to 2.14+ (configure.ac sets LIBXML_MINOR_COMPAT=14). Upstream NEWS (v2.14.0): "Binary compatibility is restricted to versions 2.14 or newer. On ELF systems, the soname was bumped from libxml2.so.2 to libxml2.so.16." So anything still linked against libxml2.so.2 will not resolve against 2.15.3; the old soname is preserved by the new libxml2_compat package. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
libxml2 2.14.0 bumped the soname libxml2.so.2 -> libxml2.so.16, so the updated libxml2-2.15.3 no longer provides libxml2.so.2. Ship the old shared library (extracted from the libxml2-2.9.12-0 package) so existing binaries linked against libxml2.so.2 keep working, following the same pattern as the other *_compat packages (e.g. nettle_compat, poppler_compat). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Point MESON at a real meson (1.6.1); /bin/meson is a prun bash wrapper that configure fails to run as a Python script, aborting at the meson check. - Drop the obsolete libassuan_autoheader.patch: the Linux libassuan build no longer runs autoreconf in 26.2.5.1, and the only remaining hunk touched the Windows/MSC path we never build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
LibreOffice 26.2.5.1's sdext/xpdfwrapper uses poppler's errEncrypted, which is not declared in the old 21.10.0 (2021) system poppler, so the --with-system-poppler build fails at wrapper_gpl.cxx:246. Update the system poppler to the latest release. poppler 26.07.0 requires C++23; the default gcc (12.5.0) only has partial support, so build with gcc 14.1.0 (CC=gcc14 CXX=g++14). ABI break (backward incompatible): the soname of libpoppler (.so.114 -> .so.162) and libpoppler-cpp (.so.0 -> .so.3) changed, so binaries built against 21.10.0 need rebuilding. A matching poppler_compat package ships the old shared libraries. libpoppler-glib (.so.8) and libpoppler-qt5 (.so.1) kept their sonames. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
poppler 26.07.0 bumped libpoppler.so.114 -> .so.162 and libpoppler-cpp.so.0 -> .so.3. Ship the old shared libraries extracted from the poppler-21.10.0-1 package so binaries linked against them keep working. glib (.so.8) and qt5 (.so.1) kept their sonames and need no compat entry. Bump the compat version to 21.10.0-0 to reflect the newest preserved soname source. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
poppler 26.07.0 requires Freetype >= 2.13; the system freetype is 2.10.4 (2020), so poppler's CMake configure fails with "Found unsuitable version 2.10.4, but required is at least 2.13". Update the system freetype to the latest release. No ABI break: version_info 26:6:20 -> soname libfreetype.so.6 is unchanged, so no compat package is needed. The mee_patch seds still apply (SUBPIXEL_HINTING is now enabled upstream by default, so that branch simply no-ops while SUBPIXEL_RENDERING is still enabled). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
NSPR is NSS's mandatory runtime dependency; NSS 3.126 requires NSPR >= 4.37. Update NSPR to the latest release (4.39). The two mee_patch seds still apply (RELEASE_BINS in pr/src/misc/Makefile.in and the $(LIBRARY) entries in config/rules.mk are unchanged). No ABI break: NSPR ships unversioned shared libraries (libnspr4.so, libplc4.so, libplds4.so), so no compat package is needed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
poppler 26.07.0 requires NSS >= 3.98 for PDF digital-signature support (ENABLE_NSS3, on by default), and libreoffice.be0 builds --with-system-nss; the system NSS is 3.73 (2021). Update to the latest release (3.126, needs NSPR >= 4.37 -> see the NSPR 4.39 update). The BLFS "standalone" patch is now version-agnostic and byte-identical to the old nss-3.73-standalone-1.patch (same md5 f8a7ce47...), so the existing beehive upload still applies and it patches 3.126 (one hunk with harmless fuzz). Beehive keys on md5 AND filename, so keep the old nss-3.73-standalone-1.patch filename in the URL. Drop libcrmf.a from mee_install: NSS 3.126 removed crmf from the default library build (no longer listed in lib/Makefile NSS_SRCDIRS), so the static libcrmf.a is no longer produced. The .chk files are still built and installed. Nothing downstream links libcrmf. No ABI break: NSS ships unversioned shared libraries (libnss3.so, libssl3.so, libsmime3.so, libnssutil3.so, ...) and keeps ABI additively compatible across 3.x, so no compat package is needed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gpgme 1.24.3 requires libgpg-error >= 1.47; the system is 1.42. Update to the latest release (1.61). No ABI break: libtool version-info 42:1:42 -> soname libgpg-error.so.0 is unchanged, so no compat package is needed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
poppler 26.07.0 needs Gpgmepp >= 1.19 (PDF GPG-signature support), and the system gpgme is 1.16.0. gpgme 2.x split the C++ (Gpgmepp), Qt and Python bindings into separate releases, so stay on the latest 1.x that still bundles Gpgmepp; GpgmeppConfig then reports 1.24.3 (>= 1.19). Requires libgpg-error >= 1.47 (see the libgpg-error 1.61 update); libassuan 2.5.3 already satisfies the >= 2.4.2 requirement, so no libassuan change is needed. Build only the cl + cpp bindings via --enable-languages=cl,cpp (replaces the old gpgme-nopython.patch, which edited the generated configure and no longer applies). This drops the Qt binding that the old package shipped: poppler and LibreOffice use Gpgmepp, not QGpgme, and sousage.pl reports libqgpgme.so as unused; building qt5 would also require Qt5's moc/qmake on PATH and PKG_CONFIG_PATH, which are not set up in this environment. Sonames: libgpgme.so.11 and libgpgmepp.so.6 are unchanged, so poppler/LO need no rebuild for the C++ binding. No compat package is needed (libqgpgme is no longer built, and it was unused). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
poppler 26.07.0 configure hard-requires Boost >= 1.83 via find_package(Boost 1.83 CONFIG); the system package was 1.72.0. Boost is used header-only in poppler's Splash rasterizer for boost::container::small_vector. The headers-only recipe is unchanged and verified against 1.91.0: the install populates boost/container/small_vector.hpp and the CMake CONFIG files (Boost-1.91.0, boost_headers-1.91.0) report 1.91.0, so poppler's CONFIG-mode lookup succeeds. Header-only, so no soname/ABI change. The old bintray SRCURL is dead; the commented upstream URL now points at archives.boost.io. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Switch CC/CXX from gcc14/g++14 to clang/clang++. clang 22 has full C++23 support and links against the system libstdc++, avoiding a dependency on the out-of-tree /pkg/gcc-14 libstdc++. That dependency also broke the g-ir-scanner introspection link with GLIBCXX_3.4.3x undefined references, since the scanner links its temporary binary with the C driver and could not resolve the gcc-14-only symbols against the default libstdc++. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Capture the anatomy of a bee file (BEE_VERSION header, SRCURL beehive mirror, magic comment directives, mee_/bee_ hooks, S/B/D dirs), the local build invocation and flags, the clang-vs-gcc-14 compiler guidance and g-ir-scanner libstdc++ gotcha, compat packages, and the commit convention. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
poppler 26.07.0 (LibreOffice 26 dependency cascade) requires lcms2 >= 2.14; MarIuX has 2.9. Latest upstream is 2.19.1 (now hosted on GitHub, not SourceForge). lcms2 2.19.x switched its primary build system to CMake (the tarball still ships autotools + meson, but bee_configure auto-detects CMake), so the autotools `--disable-static` flag no longer applies. Replace it with '-DLCMS2_BUILD_STATIC=OFF`. liblcms2.so.2 (SONAME unchanged, so no compat package needed), lcms2.pc reports Version 2.19 (>= 2.14), headers and CLI tools. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- parallel install to guile 3.0.8 since a lot of stuff depends on 2.x
Increment revision to 1.
Rename autogen-5.11.1-0.bee to the versionless autogen.be0 layout and move the version into a BEE_VERSION header, as done for other packages (e.g. libtool, tiff). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.11.1 (2010) built against the system Guile 1.8.7; the new configure requires Guile >= 2.0, so build against the parallel-installed guile2 (2.2.7) via GUILE/GUILD. The old package also leaked gnulib's extensions.m4 into /usr/share/aclocal, where the stale serial-9 macro shadowed autoconf 2.71's AC_USE_SYSTEM_EXTENSIONS and broke autoreconf for other packages (e.g. LibreOffice's bundled libassuan). 5.18.16 installs only autoopts.m4. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The ag.c compile fails with SCM_INTERNAL/SCM_API undefined throughout the Guile headers. autoopts' mk-tpl-config.sh patches the Guile headers it will compile against (rewriting the bare `noreturn` keyword) and locates them via find_libguiledir, which trusts the stale system `guile-config` (1.8.7) first. Guile 1.8's headers sit directly in /usr/include with a top-level libguile.h, defeating the script's version-subdir detection, so it copies Guile 1.8's libguile.h and libguile/__scm.h into the build tree. The actual compile, though, uses Guile 2.2's headers (GUILE_CFLAGS from pkg-config, -I/usr/include/guile/2.2). Mixing 1.8's __scm.h with 2.2's alist.h/gc.h leaves SCM_INTERNAL/SCM_API undefined. The Makefile already passes the correct location as LGCFLAGS (= GUILE_CFLAGS), but find_libguiledir only consults it as a last-resort fallback. Patch it in mee_patch to honour that -I dir first when it contains libguile/__scm.h, so header patching matches the Guile the sources compile against. With Guile 2.2 (no bare `noreturn`) fix_guile then correctly no-ops and the pure 2.2 headers are used. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign in
to join this conversation on GitHub.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Install guile2 (with shared libraries), and update quite some dependencies. libxml2_compat and poppler_compat are needed.